from multiprocessing import Process

import os
import time
# def proc():
#     time.sleep(10)
#     print(os.getpid())
#     print(os.getppid())
#     print('我是子进程')
# if __name__ == "__main__":
#     p1=Process(target=proc)
#     p1.start()
#     print(os.getpid())
#     time.sleep(5)
#
#     print('我是主进程')

# from multiprocessing import Process


# def tset():
#     print('我是子程序')
#
#
# if __name__ == '__main__':
#     print('我是主程序')
#     # 创建子进程对象
#     '''
#        Process(
#            target ： 进程执行的任务名称
#            args/kwargs : 任务参数 (args接收时元组类型 ， kwargs接收的是字典类型)
#        )
#     '''
#     p = Process(target=tset)
#     # 开启子进程
#     p.start()
#     print('主程序关闭')

# def fun(name):
#     print('woshizichengxu')
#     print(f"{name}")
#
# if __name__=="__main__":
#     print('我是主程序')
#     p1 = Process(target=fun,args=('zengkun',))
#     p2 = Process(target=fun,kwargs={'name': 'zk'})
#     p2.start()
#     p1.start()
# def fun():
#     time.sleep(10)
#     print(123)
# if __name__=="__main__":
#     p1=Process(target=fun,)
#     # p1.daemon = True
#     p1.start()
#     p1.join()
#     print('主程序关闭')

# def tset(name):
#     print('我是子程序')
#     # 获取进程编号
#     print(f'我是子进程编号：{os.getpid()}')
#     # 获取父进程编号
#     print(f'这是我的父进程编号：{os.getppid()}')
#     # 休眠
#     time.sleep(10)
#     print(f'{name}正在讲课')
#
#
# if __name__ == '__main__':
#     print('我是主程序')
#     # 获取进程编号
#     print(f'我是主进程编号：{os.getpid()}')
#
#     # 创建子进程对象
#     '''
#        Process(
#            target ： 进程执行的任务名称
#            args/kwargs : 任务参数 (args接收时元组类型 ， kwargs接收的是字典类型)
#        )
#     '''
#     p = Process(target=tset, args=('石头',))
#
#     # 开启子进程
#     p.start()
#
#     # 设置主程序等待子程序任务结束
#     p.join()
#
#     time.sleep(10)
#     print('主程序关闭')

# def fun(name,num):
#     print(os.getpid())
#     print(f"{name} is {num}")
#
# if __name__ == '__main__':
#     for i in range(10):
#         p = Process(target=fun, args=('zengkun', i))
#
#         p.start()
#         # p = Process(target=fun, args=('zengkun', i))
#         p.join()


# def tset(name, num):
#     print(f'我是{name}, 我正在吃第{num}饭')
#
#
# if __name__ == '__main__':
#     print('我是主程序')
#     # 创建子进程对象
#     '''
#        Process(
#            target ： 进程执行的任务名称
#            args/kwargs : 任务参数 (args接收时元组类型 ， kwargs接收的是字典类型)
#        )
#     '''
#     for i in range(10):
#         p = Process(target=tset, args=('石头', i))
#         # 开启子进程
#         p.start()
#         p.join()
#
#     print('主程序关闭')

age = 10


# def func(name, num=0):
#     # 可以修改全局变量
#     global age
#     age += 12
#     age += num
#     print('我是子进程')
#     print(f'我叫{name}，今年{age}岁')
#
#
# if __name__ == '__main__':
#     p1 = Process(target=func, args=('石头',))
#     p2 = Process(target=func, args=('小石头', 5))
#     p1.start()
#     p2.start()
#     print(f'这是主进程的年龄:{age}')